地图覆盖物功能概述

最后更新时间:2019年6月17日

功能介绍

功能描述

地图覆盖物,也即是各种自定义的几何图形与图像,几何图形能够在地图容器中自由绘制。地图覆盖物具体包括:点、线、圆、多边形、文本、图像等,这些几何图形与图像具有空间位置信息特征,与GIS相结合,能够满足在移动应用中的需求。

应用场景

图形绘制功能在移动GIS中是非常重要的一部分,查询、编辑、分析等功能均涉及到移动端的图形绘制。一般通过绘制图形来获取地图的空间范围,为查询等功能提供条件限制,或提供操作要素的空间属性等。可以在程序中直接根据给定的信息来创建、绘制图形,在实际应用中,使用更多的是通过手势交互绘制,后续将会对这两种方式详细讲解。

功能介绍
1
绘制点

开发者可通过该功能,实现在地图绘图层上绘制点图形,包括单点、多点几何图形。

2
绘制线

开发者可通过该功能,实现在地图绘图层上绘制线图形,包括实线、虚线、纹理线等几何图形。

3
绘制多边形

开发者可通过该功能,实现在地图绘图层上绘制多边形图形,支持绘制一般多边形(单圈区)、带洞区图形(多圈区)。

4
绘制圆

开发者可通过该功能,实现在地图绘图层上绘制圆图形。

5
添加文本

开发者可通过该功能,实现地图绘图层上添加文本信息,可作为地物标注的文字说明。

6
添加图像

开发者可通过该功能,实现地图绘图层上添加图像,可作为地物标注的图标。

7
交互式绘制图形

开发者可通过该功能,实现移动端交互式图形绘制,即通过用户手势操作(如短按、长按、双击手势等)绘制图形。

功能接口

MapGIS Mobile 10.3 for Android的SDK封装了自定义图形类,点、线、多边形、圆、文本、图片等,都在com.zondy.mapgis.android.graphic包下,这些图形的创建、绘制方法都具有相通性。

地图覆盖物接口结构图.png

绘制自定义图形的原理:首先获取或创建一个覆盖物图层GraphicsOverlay,也即绘图层。可以从地图容器获取缺省的绘图层,也可以自定义一个然后添加到覆盖物图层列表中。然后构造自定义图形对象,再将其添加到覆盖物图层中进行绘制,通过其渲染机制在地图上展现。整体的思路可以借鉴上方的结构图来理解。

实现方法

地图覆盖物的实现流程如下:

(1) 用户交互绘制:通过手势交互操作的事件捕获到当前屏幕坐标点,并将点的屏幕坐标转换为地图坐标;(非交互绘制跳过此步)

(2) 构造自定义图形对象:创建自定义图形对象并进行初始化,包括图形空间信息(地图坐标点等)、图形显示样式(颜色、填充颜色、线条宽度等);

(3) 将图形添加到地图视图:获取地图视图中的绘图图层,通过方法addGraphic()将图形对象添加到地图视图中,最后刷新地图即可。

地图覆盖物实现方法.png